/**
 * Created by PanJiaChen on 16/11/18.
 */

/**
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * @param {string} str
 * @returns {Boolean}
 */
export function validUsername(str) {
  const valid_map = ['admin', 'editor']
  return valid_map.indexOf(str.trim()) >= 0
}

/**
 * 校验密码
 * 字母大小写、数字、特殊符号四选三
 * 密码长度至少8位
 */
export function validPassword(password) {
  if (password.length < 8) return false
  // 小写字母
  const lowerCase = /[a-z]/
  // 大写字母
  const upperCase = /[A-Z]/
  // 数字
  const digit = /[0-9]/
  // 特殊符号
  const specialChar = /[\W_]/

  let categoryCount = 0
  if (lowerCase.test(password)) categoryCount++
  if (upperCase.test(password)) categoryCount++
  if (digit.test(password)) categoryCount++
  if (specialChar.test(password)) categoryCount++

  return categoryCount >= 3
}
